{{tag>bureautique}}

----

====== Patch : application d'un patch dans un répertoire ======

Patch permet d'appliquer un patch obtenu au moyen d'un diff (svn diff, git diff, ...)








Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://patch|patch]]**.
=====Utilisation=====

ho ho  Merci  

:-x :-P




HACkE

{{:2229_big.png?200|}}
{{:grub-gfxboot.jpg?direct&300 |}}                                                                                                                                                      

----
ń<note warning>[[:tutoriel:comment_installer_un_paquet|note warning]][[:tutoriel:comment_installer_un_paquet|**[[apt>installez le paquet]]**]]</note>
FIXME
==== Patcher un dossier ==== 
L'utilisation de l'outil patch se fait en ligne de commande. La syntaxe est la suivante :

  patch -p0 < mon.patch


Ceci appliquera le patch "mon.patch" dans le répertoire courant.

-p0 indique que nous prenons les paths du patch en entier.
Par exemple :
+++ monProjet/test.c
va appliquer ce patch dans le sous répertoire monProjet sur le fichier test.c.
Si nous avions spécifié -p1 il aurait cherché test.c à la racine de notre répertoire courant.


==== Patcher tous les fichiers indiqués par le patch ==== 

  patch < mon.patch

==== Patcher explicitement un seul fichier ==== 

  patch monfichier.truc < mon.patch

==== Patcher en mode verbeux sans appliquer réellement le patch ==== 

  patch --verbose --dry-run < mon.patch

==== Retour arrière sur un passage de patch  ==== 

  patch --reverse < mon.patch
  
==== Application d'un patch avec conservation des permissions  ==== 
<note warning>Attention: La commande patch ne preserve pas les permissions, mais les positionne en 644, cela est important notamment lorsqu'on patch un fichier dans /etc/grub.d/ par exemple.
</note>
Pour préserver les permissions, il faut utiliser l'option **''----backup''** et ensuite faire un chmod **''----reference''**, exemple :

  cd /etc/grub.d/ && patch --backup -p3 00_header_754921.patch
  chmod --reference=00_header.orig 00_header
----
//Contributeurs: dufoli//